# 这里测试并不成功
# metaclass 的使用
# 类和方法的 描述
# pydoc 的使用
    # 1. 查看文件描述
        # 1. python.ext -m pydoc 15.py
        # 1. 相当于 help(类名)
    # 1. 启动本地服务，浏览文档
        # 1. python.ext -m pydoc -p 3000 
        # 1. python.ext -m pydoc -b 3000 
    # 1. 生成指定的模块html文档
        # 1. python.ext -m pydoc -w 15
        # 1. 注意，一定不要带 扩展名 py


import pydoc

class Dog:
    pass

__metaclass__ = Dog

def run(self):
    print('run')

class Person(Dog):
    """
    关于这个类的描述，类的作用，类的钩爪函数等等，类属性的描述等等
    """
    # __metaclass__ = Dog
    pass
    def run(self,distance,step):
        """
        这个方法的作用效果
        :param distance: 参数的意义，参数的类型，是否又默认值
        :param step: 
        :return: 返回的是时间，返回的类型
        """
        pass



# print(Person.__class__)
print(Person)

def get_name(name):
    '''
    :param name: str, 名字
    '''
    print(name)

print(pydoc)

help(Person)

# <class '15.Person'>
# <module 'pydoc' from 'D:\\all\\installs-windows\\installs-windows-necessary\\install-python2\\python310.zip\\pydoc.pyc'>
# Help on class Person in module 15:

# class Person(Dog)
#  |  ¹ØÓÚÕâ¸öÀàµÄÃèÊö£¬ÀàµÄ×÷ÓÃ£¬ÀàµÄ¹³×¦º¯ÊýµÈµÈ£¬ÀàÊôÐÔµÄÃèÊöµÈµÈ
#  |  
#  |  Method resolution order:
#  |      Person
#  |      Dog
#  |      builtins.object
#  |  
#  |  Methods defined here:
#  |  
#  |  run(self, distance, step)
#  |      Õâ¸ö·½·¨µÄ×÷ÓÃÐ§¹û
#  |      :param distance: ²ÎÊýµÄÒâÒå£¬²ÎÊýµÄÀàÐÍ£¬ÊÇ·ñÓÖÄ¬ÈÏÖµ
#  |      :param step: 
#  |      :return: ·µ»ØµÄÊÇÊ±¼ä£¬·µ»ØµÄÀàÐÍ
#  |  
#  |  ----------------------------------------------------------------------
#  |  Data descriptors inherited from Dog:
#  |  
#  |  __dict__
#  |      dictionary for instance variables (if defined)
#  |  
#  |  __weakref__
#  |      list of weak references to the object (if defined)
# 
# No Python documentation found for '15.py'.
# Use help() to get the interactive help utility.
# Use help(str) for help on the str class.
# 
# 
# 
# 
